#include"comm.h"
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/shm.h>

int main()
{
  //创建唯一key_t
  key_t key=ftok(PATHNAME,PRO_ID);
  if(key<0)
  {
    perror("ftok");
    return 1;
  }
  //创建共享内存
  int shmid=shmget(key,SIZE,IPC_CREAT | IPC_EXCL | 0644);
  if(shmid<0)
  {
    perror("shmid");
    return 2;
  }
  printf("shmid is:%d\n",shmid);
  //连接共享内存
  char* start=(char*)shmat(shmid,NULL,0);
  printf("server already attach on shared memory\n");

  //do，获得数据，处理数据
  while(1)
  {
    printf("%s\n",start);
    sleep(1);
  }
  
  //将共享内存脱离
  if(shmdt(start))
    perror("shmdt");return 3;

  //将共享内存删掉
  if(shmctl(shmid,IPC_RMID,NULL))
    perror("shmctl");return 4;

  return 0;
}
